<template>
  <div>
    <a-card class="info" title="岗位需求清单">
      <template slot="extra">
        <!--<template v-if="model.bpmStatus==='1'">
          <a-button
                  class="ruleButton"
                  :ghost="true"
                  type="primary"
                  icon="edit"
                  @click="handleEdit(model)"
                  :disabled="isDisabledAuth('erpHrPostRequirementBill:edit')"
          />
          <a-divider type="vertical"/>
          <a-button type="primary" size="small" @click="startProcess(model)" :disabled="isDisabledAuth('erpHrPostRequirementBill:startProcess')">发起流程</a-button>
        </template>
        <template v-if="showBtn(model.bpmStatus)&& doCount > 0">
          <span v-if="model.taskUrge">
            <a-icon title="催办提醒" theme="twoTone" twoToneColor="#eb2f96"
                    @click="taskNotifyMe(flowCode,model.id)" type="notification"/>
            <a-divider type="vertical"/>
          </span>

          <a-button type="primary" size="small" @click="handleProcess(model)">办理</a-button>
          <a-divider type="vertical"/>
        </template>
        <template v-if="myCount > 0 && showBtn(model.bpmStatus)">
          <a-button type="primary" size="small" @click="taskNotify(flowCode,model.id)">催办</a-button>
          <a-divider type="vertical"/>
          <a-popconfirm title="确定要作废吗?" @confirm="() => invalidProcess(model)">
            <a-button type="primary" size="small" :disabled="isDisabledAuth('erpHrPostRequirementBill:invalidProcess')">
              作废流程
            </a-button>
          </a-popconfirm>
          <a-divider type="vertical"/>
        </template>-->
        <template v-if="model.bpmStatus !== '1'">
          <a-button type="primary" size="small" @click="handleTrack(model)" :disabled="isDisabledAuth('erpHrPostRequirementBill:viewTrack')">审批进度</a-button>
        </template>
      </template>
      <!-- <biz-his-task-module ref="bizHisTask" :formData="formData">  -->
      <a-row type="flex" justify="center">
        <a-col :span="24">
          <erp-hr-post-requirement-bill-form ref="realForm" :disabled="true" normal></erp-hr-post-requirement-bill-form>
          <!-- 流程历史跟踪 -->
          <common-flow-list v-if="model.bpmStatus !== '1'" :formData="formData"></common-flow-list>
        </a-col>
      </a-row>
      <!-- </biz-his-task-module> -->
      <erp-hr-post-requirement-bill-modal ref="modalForm" @ok="modalFormOk"></erp-hr-post-requirement-bill-modal>
      <bpm-biz-task-deal-modal
        ref="taskDealModal"
        :path="path"
        :formData="formData"
        @ok="handleOk"></bpm-biz-task-deal-modal>
      <bpm-process-track-modal ref="bpmProcessTrackModal"></bpm-process-track-modal>
      <biz-task-notify-modal ref="taskNotifyModal"></biz-task-notify-modal>
      <biz-task-notify-me-modal ref="taskNotifyMeModal"></biz-task-notify-me-modal>
    </a-card>

    <div style="text-align: center;margin-top: 15px;">
      <a-button v-print="'#printContent'" type="primary">打印</a-button>
    </div>

    <ErpHrPostRequirementBillFormPrint class="print_style" id="printContent" :formData="model" :formDataHistory="formData"></ErpHrPostRequirementBillFormPrint>
  </div>
</template>

<script>

  import { getAction, postAction } from '@/api/manage'
  import { JeecgBpmListMixin } from '@/mixins/JeecgBpmListMixin'
  import BizHisTaskModule from '@/views/modules/bpmbiz/common/BizHisTaskModule.vue';
  import BpmBizTaskDealModal from '@/views/modules/bpmbiz/common/BpmBizTaskDealModal.vue';
  import BpmProcessTrackModal from '@/views/modules/bpmbiz/common/BpmProcessTrackModal.vue';
  import BizTaskNotifyModal from '@/views/modules/bpmbiz/common/BizTaskNotifyModal.vue';
  import BizTaskNotifyMeModal from '@/views/modules/bpmbiz/common/BizTaskNotifyMeModal.vue';
  import ErpHrPostRequirementBillForm from './modules/ErpHrPostRequirementBillForm'
  import ErpHrPostRequirementBillModal from './modules/ErpHrPostRequirementBillModal'
  import ErpHrPostRequirementBillFormPrint from './modules/ErpHrPostRequirementBillFormPrint' // 打印组件
  import { DisabledAuthFilterMixin } from '@/mixins/DisabledAuthFilterMixin'
  import CommonFlowList from '@/views/components/CommonFlowList.vue' // 审批历史流程列表组件

  export default {
    name: 'ErpHrPostRequirementBillDetail',
    mixins: [JeecgBpmListMixin, DisabledAuthFilterMixin],
    components: {
     ErpHrPostRequirementBillForm,
     ErpHrPostRequirementBillModal,
     BizHisTaskModule,
     BpmBizTaskDealModal,
     BpmProcessTrackModal,
     BizTaskNotifyModal,
     BizTaskNotifyMeModal,
     CommonFlowList,
     ErpHrPostRequirementBillFormPrint
    },
    data () {
      return {
         model: {},
        id: '',
        url: {
          queryById: '/api/erp/hr/post/erpHrPostRequirementBill/queryById',
          delete: '/api/erp/hr/post/erpHrPostRequirementBill/delete',
          bizCount: '/api/erp/hr/post/erpHrPostRequirementBill/bizCount'
        },
        confirmLoading: false,
        iconStyle: { 'font-size': '20px' },
        // 代码生成后需手动设置流程编码
        flowCode: 'onl_erp_hr_post_requirement_bill',
        formUrl: 'erp/hr/post/modules/ErpHrPostRequirementBillForm',
        formUrlMobile: ''
      }
    },
    created() {
    },
    watch: {
      $route(to, from) {
        this.loadData();
      }
    },
    mounted() {
    },
    methods: {
      loadData() {
        const id = this.$route.params.id;
        getAction(this.url.queryById, { id }).then((res) => {
          if (res.success) {
            const model = res.result
            this.$refs.realForm.edit(model);
            this.model = model;
            // 查询催办
            let params1 = { flowCode: this.flowCode, dataId: id };// 查询条件
            getAction(this.url.checkNotify, params1).then((res2) => {
              if (res2.result) {
                this.model.taskUrge = true;
              }
            })
            // 查询流程
            let params = { flowCode: this.flowCode, dataId: this.model.id };// 查询条件
            this.viewTrack(params);
          }
        })
        this.bizCountById(id);
      }
    }
  }
</script>
<style lang="less" scoped>
@import '~@assets/less/common.less';

.info {
  /deep/ .ant-card-head-title{
    flex: none;
    margin-right: 20px;
  }
  /deep/ .ant-card-extra{
    flex: 1;
    float: left;
  }
}
.print_style{
  position: absolute;
  top: 0;
  z-index: -1111;
}
</style>
